﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Windows.Navigation;
using SilverlightOracle.WCFService;
using System.Text.RegularExpressions;

namespace SilverlightOracle
{
    public partial class TrangChu : Page
    {
        ServiceClient webservice = new ServiceClient();
        public TrangChu()
        {
            InitializeComponent();
            webservice.GetTruongCompleted += new EventHandler<GetTruongCompletedEventArgs>(webservice_GetTruongCompleted);
            webservice.GetTruongAsync();
            radioButton1.IsChecked = true;
            dgSilverligh.Visibility = Visibility.Collapsed;
        }

        void webservice_GetTruongCompleted(object sender, GetTruongCompletedEventArgs e)
        {
            comboBox1.ItemsSource = e.Result;
            comboBox1.SelectedIndex = 0;
        }

        // Executes when the user navigates to this page.
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            if (!Validate())
                return;
            else
            {
                Error.Content = "";
                webservice.SreachThiSinhCompleted += new EventHandler<SreachThiSinhCompletedEventArgs>(webservice_SreachThiSinhCompleted);
                progressBar1.Visibility = Visibility.Visible;
                progressBar1.IsIndeterminate = true;
                if (radioButton1.IsChecked == true)
                {
                    webservice.SreachThiSinhAsync(comboBox1.SelectedValue.ToString(), textBox1.Text, "");
                }
                else
                {
                    if (radioButton2.IsChecked == true)
                    {
                        webservice.SreachThiSinhAsync(comboBox1.SelectedValue.ToString(), "", textBox1.Text);
                    }
                }
            }

        }

        void webservice_SreachThiSinhCompleted(object sender, SreachThiSinhCompletedEventArgs e)
        {
            if (e.Result.Count != 0)
            {
                progressBar1.Visibility = Visibility.Collapsed;
                progressBar1.IsIndeterminate = false;
                dgSilverligh.Visibility = Visibility.Visible;
                dgSilverligh.ItemsSource = e.Result;
            }
            else
            {
                progressBar1.Visibility = Visibility.Collapsed;
                progressBar1.IsIndeterminate = false;
                dgSilverligh.Visibility = Visibility.Collapsed;
                Error.Content = "Không tìm thấy dữ liệu thí sinh . Yêu cầu kiểm tra lại từ khóa";
            }
        }

        bool Validate()
        {
            if (textBox1.Text.Length == 0)
            {
                Error.Content = "Từ khóa không được rỗng";
                return false;
            }

            if (radioButton1.IsChecked == true)
            {
                if (!Regex.IsMatch(textBox1.Text, @"^[a-zA-Z0-9''-'\s]{1,200}$"))
                {
                    Error.Content = "Chỉ được nhập chữ và số";
                    textBox1.Focus();
                    return false;
                }
            }
            if (radioButton2.IsChecked == true)
            {
                if (!Regex.IsMatch(textBox1.Text, @"^[a-zA-Z''-'\s]{1,200}$"))
                {
                    Error.Content = "Chỉ được nhập chữ";
                    textBox1.Focus();
                    return false;
                }
            }
            
            return true;

        }

    }
}
